package com.baizhi.wd.service;

import java.sql.Connection;
import java.util.List;

import com.baizhi.wd.dao.PersonDaoImpl;
import com.baizhi.wd.dao.UserDao;
import com.baizhi.wd.dao.UserDaoImpl;
import com.baizhi.wd.entity.User;
import com.baizhi.wd.util.JdbcUtil;

// ҵ���࣬רע�� ʵ��������ص�ҵ��
public class UserServiceImpl implements UserService {
	private UserDao userDao = new UserDaoImpl();

	// ����ʺţ���1���û�
	public User queryOne(String username){
		Connection con = null;
		try{
			// 1 �������࣬��ȡ����
			con = JdbcUtil.getCon();

			// 3 ��dao�ġ���1����������ʵ�ֲ�1������
			User user = userDao.selectOne(username);

			return user;
		} catch(Exception e){
			throw new RuntimeException(e);
		} finally {
			// 5 ���������ͷ���Դ
			JdbcUtil.release(null,null,con);
		}
	}
	//查所有
	public List<User> queryall(){
		Connection con = null;
		try{
			// 1
			con = JdbcUtil.getCon();

			// 3 
			List<User> all = userDao.selectAll();

			return all;
		} catch(Exception e){
			throw new RuntimeException(e);
		} finally {
			// 5 
			JdbcUtil.release(null,null,con);
		}
	}
	//添加一个
	public void regist(User user) {
		Connection con = null;
		try {
			// 1
			con = JdbcUtil.getCon();
			// 2
			con.setAutoCommit(false);
			// 3.
			userDao.insertUser(user);
			// 4
			con.commit();
		} catch (Exception e) {
			// 4
			try {
				con.rollback();
			} catch (Exception e1) {
				throw new RuntimeException(e1);
			}
			throw new RuntimeException(e);
		} finally {
			// 5
			JdbcUtil.release(null, null, con);
		}
	}
	
}
